Negative override

Hi.

Is it possible to a negative override in PagerDuty?

E.g.: I am oncall on Mon-Fri from 10 to 18. But on Jan 1 and January 2. And I want to remove myself from the schedule. How can I do that?

Removing my entire schedule from an escalation policy or removing contact methods to not receive pages every time I need a “negative override” is kinda painful.

Thanks.

Hi Aleksandr,

Unfortunately PagerDuty doesn’t have a negative override feature as you’ve described. It is recommended to create a normal override for the period of time that you won’t be on-call, so that someone else will be able to acknowledge or resolve the incidents which are triggered during that period of time.

I do understand that adding someone as an override for a schedule that is included on an escalation policy which contains multiple escalation tiers is not always necessary, so I will create a feature request on your behalf for a negative override feature as you’ve described.

For your specific use-case here, I believe the best course of action would be to remove the entire schedule from the escalation policy for the duration you don’t want to be on-call, as you are the only user included for that schedule.

I also have this requirement. Can I bump this request and ask if there is any new method of getting this done?

If you were to have these “negative overrides” you could leave yourself in a situation where no-one is able to receive an alert, and it gets suppressed.

Wouldn’t you ordinarily just have someone else fill in for you, like the out-of-hours on-call?

Hey Simon!

Just to clarify, what I am looking for is this…

EP :
Level 1 -> Level 2 -> Level 3 -> Level 4…

Schedule :
Level 1 : User 1, User 2
Level 2 : User A, User B

Final Schedule :
Monday : User 1, User A
Tuesday : User 2, User B
Wednesday : User 1, User A
…

What I want to do is that if User 1 and User 2 have a public holiday on Monday, then the only person oncall will be User A for that time period, with User 1 disappearing from Level 1 schedule for only Monday, and resuming normal oncall schedule after the holiday.

True that this will have degraded oncall, but there is going to be sufficient oncall via Levels 3, 4.

Rightoh!

Easiest way to achieve that now (with the current Schedule/EP restrictions) is to have User A set as an override for User 1 on the Monday.

Your second option is to remove the Level 1 Schedule for the day (or swap Level 1 and Level 2, trusting that User A is going to pick it up). This is riskier because if no-one restores it, it’s broken until someone remembers to revert the EP change.

Basically what you’re suggesting with negative overrides is saying someone is missing, instead of someone is replacing them - you still need to set the override (positive or negative). The only odd situation you may encounter is User A being paged twice in sequence (for Level 1 and Level 2), effectively giving them two changes to respond, and you maintain your normal distance to Level 3 (e.g. 2x 15 minute timeouts = 30 minutes).

TBH I personally would strongly recommend just going with the positive override of User A - it’s deterministic, as you know who will be hit first (instead of “whoever is on Level 2”), and it maintains the timeout spacing to Level 3, Level 4.

Hope that helps,
@simonfiddaman

Right… So this would be easy to do… If we only had one EP.

We’ve got multiple EP (think ~70) with each of them having a common Level 3, but Level 1 and Level 2 are potentially geolocated in same timezone. Hence for finding out who overrides whom, there exists a huge manual script. This requires every person to fill up their timezone information based on which this script manually computes what to do if tomorrow is a national holiday.

Our first levels are not operators, but developers, who aren’t expected to oncall for their products on holidays.

This feature of negative overrides (setting override that negates existence of schedule for the override duration) will be quite useful.

The script that I mention is tremendously buggy due to the large amount of stuff which, something is is hard-coded to override.

If you’re overriding the Schedule, it doesn’t matter how many Escalation Policies you have, only how many Schedules you have to override.

Right, there are multiple Schedules for the developer oncall rotation as well. Sorry for not making that clear.